<!DOCTYPE html>
<html lang="en-US">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>鱼皮的编程宝典</title>
    <meta name="generator" content="VuePress 1.9.10">
    <link rel="icon" href="/favicon.ico">
    <script>
        var _hmt = _hmt || [];
        (function() {
          var hm = document.createElement("script");
          hm.src = "https://hm.baidu.com/hm.js?2675818a983a3131404cee835018f016";
          var s = document.getElementsByTagName("script")[0]; 
          s.parentNode.insertBefore(hm, s);
        })();
      </script>
    <meta name="description" content="贴心的编程学习路线，全面的编程知识百科">
    <meta property="article:modified_time" content="2023-11-11T12:17:47.000Z">
    <meta property="og:site_name" content="鱼皮的编程宝典">
    <meta property="og:type" content="article">
    <meta property="og:url" content="https://codefather.cn/_2022-%E6%88%91%E5%AD%A6%E4%BC%9A%E4%BA%86%E8%BF%99%E4%BA%9B/">
    <meta name="twitter:url" content="https://codefather.cn/_2022-%E6%88%91%E5%AD%A6%E4%BC%9A%E4%BA%86%E8%BF%99%E4%BA%9B/">
    <meta name="twitter:card" content="summary_large_image">
    <meta name="twitter:label1" content="Written by">
    <meta name="twitter:label2" content="Filed under">
    <meta name="twitter:data2" content="程序员, 编程, 计算机">
    <meta property="article:tag" content="程序员">
    <meta name="keywords" content="程序员鱼皮, 编程学习路线, 编程知识百科, Java, 编程导航, 前端, 开发, 编程分享, 项目, IT, 求职, 面经">
    
    <link rel="preload" href="/assets/css/0.styles.40c15e22.css" as="style"><link rel="preload" href="/assets/js/app.12ab4756.js" as="script"><link rel="preload" href="/assets/js/2.fd06b53e.js" as="script"><link rel="preload" href="/assets/js/407.58b2b123.js" as="script"><link rel="prefetch" href="/assets/js/1.17ea1209.js"><link rel="prefetch" href="/assets/js/10.d9532d8f.js"><link rel="prefetch" href="/assets/js/100.064ea126.js"><link rel="prefetch" href="/assets/js/101.d64c5b33.js"><link rel="prefetch" href="/assets/js/102.5e29a62c.js"><link rel="prefetch" href="/assets/js/103.59ad6cd7.js"><link rel="prefetch" href="/assets/js/104.ae4763e8.js"><link rel="prefetch" href="/assets/js/105.2a9124be.js"><link rel="prefetch" href="/assets/js/106.529bca07.js"><link rel="prefetch" href="/assets/js/107.c8671a0d.js"><link rel="prefetch" href="/assets/js/108.55c93c64.js"><link rel="prefetch" href="/assets/js/109.7d1efa54.js"><link rel="prefetch" href="/assets/js/11.2f89b5eb.js"><link rel="prefetch" href="/assets/js/110.0caecbf5.js"><link rel="prefetch" href="/assets/js/111.a2aeae49.js"><link rel="prefetch" href="/assets/js/112.eb7ceda5.js"><link rel="prefetch" href="/assets/js/113.f304408d.js"><link rel="prefetch" href="/assets/js/114.988c637f.js"><link rel="prefetch" href="/assets/js/115.bfdeed31.js"><link rel="prefetch" href="/assets/js/116.a47b8c53.js"><link rel="prefetch" href="/assets/js/117.2e1e8250.js"><link rel="prefetch" href="/assets/js/118.758ce408.js"><link rel="prefetch" href="/assets/js/119.73d9e688.js"><link rel="prefetch" href="/assets/js/12.53aaa509.js"><link rel="prefetch" href="/assets/js/120.202a8b2e.js"><link rel="prefetch" href="/assets/js/121.ca91d59a.js"><link rel="prefetch" href="/assets/js/122.8804c0dd.js"><link rel="prefetch" href="/assets/js/123.ceada225.js"><link rel="prefetch" href="/assets/js/124.4b2718b7.js"><link rel="prefetch" href="/assets/js/125.72134235.js"><link rel="prefetch" href="/assets/js/126.167b162c.js"><link rel="prefetch" href="/assets/js/127.f8139c17.js"><link rel="prefetch" href="/assets/js/128.da64a377.js"><link rel="prefetch" href="/assets/js/129.c07963b1.js"><link rel="prefetch" href="/assets/js/13.52940164.js"><link rel="prefetch" href="/assets/js/130.f66fc8bb.js"><link rel="prefetch" href="/assets/js/131.a913c7dd.js"><link rel="prefetch" href="/assets/js/132.ea648654.js"><link rel="prefetch" href="/assets/js/133.074ca70e.js"><link rel="prefetch" href="/assets/js/134.dc79ddd8.js"><link rel="prefetch" href="/assets/js/135.c4516208.js"><link rel="prefetch" href="/assets/js/136.2546baf7.js"><link rel="prefetch" href="/assets/js/137.56454fc6.js"><link rel="prefetch" href="/assets/js/138.bdb002bf.js"><link rel="prefetch" href="/assets/js/139.40a2f9b5.js"><link rel="prefetch" href="/assets/js/14.ade1e74d.js"><link rel="prefetch" href="/assets/js/140.06b20427.js"><link rel="prefetch" href="/assets/js/141.8dd992e3.js"><link rel="prefetch" href="/assets/js/142.d9305485.js"><link rel="prefetch" href="/assets/js/143.41bf907e.js"><link rel="prefetch" href="/assets/js/144.c138960c.js"><link rel="prefetch" href="/assets/js/145.fc5b38c8.js"><link rel="prefetch" href="/assets/js/146.c9166b70.js"><link rel="prefetch" href="/assets/js/147.c31d8a01.js"><link rel="prefetch" href="/assets/js/148.5c0534ca.js"><link rel="prefetch" href="/assets/js/149.d2355ea2.js"><link rel="prefetch" href="/assets/js/15.970a8ca5.js"><link rel="prefetch" href="/assets/js/150.c1644898.js"><link rel="prefetch" href="/assets/js/151.b6e4adf0.js"><link rel="prefetch" href="/assets/js/152.7a5071aa.js"><link rel="prefetch" href="/assets/js/153.31abbc68.js"><link rel="prefetch" href="/assets/js/154.9c6bb079.js"><link rel="prefetch" href="/assets/js/155.e5506a40.js"><link rel="prefetch" href="/assets/js/156.992dab50.js"><link rel="prefetch" href="/assets/js/157.12a6ee84.js"><link rel="prefetch" href="/assets/js/158.84dc1045.js"><link rel="prefetch" href="/assets/js/159.fd2022b1.js"><link rel="prefetch" href="/assets/js/16.ff971500.js"><link rel="prefetch" href="/assets/js/160.8d8889cd.js"><link rel="prefetch" href="/assets/js/161.31797def.js"><link rel="prefetch" href="/assets/js/162.bfae7a75.js"><link rel="prefetch" href="/assets/js/163.e5e8094d.js"><link rel="prefetch" href="/assets/js/164.870f212c.js"><link rel="prefetch" href="/assets/js/165.8da20a31.js"><link rel="prefetch" href="/assets/js/166.950a187d.js"><link rel="prefetch" href="/assets/js/167.fd042c52.js"><link rel="prefetch" href="/assets/js/168.7d9f058d.js"><link rel="prefetch" href="/assets/js/169.205df80e.js"><link rel="prefetch" href="/assets/js/17.4b045b26.js"><link rel="prefetch" href="/assets/js/170.270108a3.js"><link rel="prefetch" href="/assets/js/171.9f03d27d.js"><link rel="prefetch" href="/assets/js/172.1882bac7.js"><link rel="prefetch" href="/assets/js/173.fc1fe7d4.js"><link rel="prefetch" href="/assets/js/174.d77c927b.js"><link rel="prefetch" href="/assets/js/175.019b9e83.js"><link rel="prefetch" href="/assets/js/176.5ce31bd8.js"><link rel="prefetch" href="/assets/js/177.9a2006f2.js"><link rel="prefetch" href="/assets/js/178.88265ac1.js"><link rel="prefetch" href="/assets/js/179.3205ce07.js"><link rel="prefetch" href="/assets/js/18.1cdd0514.js"><link rel="prefetch" href="/assets/js/180.2ff51f44.js"><link rel="prefetch" href="/assets/js/181.f792ce97.js"><link rel="prefetch" href="/assets/js/182.103328e1.js"><link rel="prefetch" href="/assets/js/183.40fde303.js"><link rel="prefetch" href="/assets/js/184.1f36ac78.js"><link rel="prefetch" href="/assets/js/185.cf3b1c00.js"><link rel="prefetch" href="/assets/js/186.f7981399.js"><link rel="prefetch" href="/assets/js/187.20fe296d.js"><link rel="prefetch" href="/assets/js/188.7b004fea.js"><link rel="prefetch" href="/assets/js/189.599ca2d9.js"><link rel="prefetch" href="/assets/js/19.5740e4d6.js"><link rel="prefetch" href="/assets/js/190.14087c07.js"><link rel="prefetch" href="/assets/js/191.b0f73f6d.js"><link rel="prefetch" href="/assets/js/192.9d171669.js"><link rel="prefetch" href="/assets/js/193.00975585.js"><link rel="prefetch" href="/assets/js/194.2c7c43b4.js"><link rel="prefetch" href="/assets/js/195.ff126254.js"><link rel="prefetch" href="/assets/js/196.6546ae1c.js"><link rel="prefetch" href="/assets/js/197.eedb67bb.js"><link rel="prefetch" href="/assets/js/198.acdcc22c.js"><link rel="prefetch" href="/assets/js/199.7993a6b2.js"><link rel="prefetch" href="/assets/js/20.8885a4fa.js"><link rel="prefetch" href="/assets/js/200.52f08765.js"><link rel="prefetch" href="/assets/js/201.b85ab10b.js"><link rel="prefetch" href="/assets/js/202.ccec1c85.js"><link rel="prefetch" href="/assets/js/203.3f50a6ed.js"><link rel="prefetch" href="/assets/js/204.f28b803b.js"><link rel="prefetch" href="/assets/js/205.c51c53fd.js"><link rel="prefetch" href="/assets/js/206.ba0aa8f6.js"><link rel="prefetch" href="/assets/js/207.0dce311a.js"><link rel="prefetch" href="/assets/js/208.0ea629a6.js"><link rel="prefetch" href="/assets/js/209.f48c3e71.js"><link rel="prefetch" href="/assets/js/21.0bb62db4.js"><link rel="prefetch" href="/assets/js/210.689db8f2.js"><link rel="prefetch" href="/assets/js/211.72bc0f1f.js"><link rel="prefetch" href="/assets/js/212.456135bd.js"><link rel="prefetch" href="/assets/js/213.d0ea50fc.js"><link rel="prefetch" href="/assets/js/214.1400da91.js"><link rel="prefetch" href="/assets/js/215.aeef3e5d.js"><link rel="prefetch" href="/assets/js/216.a60215af.js"><link rel="prefetch" href="/assets/js/217.d6cd8b69.js"><link rel="prefetch" href="/assets/js/218.1bd500fc.js"><link rel="prefetch" href="/assets/js/219.20faf611.js"><link rel="prefetch" href="/assets/js/22.3e8347a6.js"><link rel="prefetch" href="/assets/js/220.6714179b.js"><link rel="prefetch" href="/assets/js/221.fb5b643d.js"><link rel="prefetch" href="/assets/js/222.d96272e5.js"><link rel="prefetch" href="/assets/js/223.4cb7dc3d.js"><link rel="prefetch" href="/assets/js/224.500d94cc.js"><link rel="prefetch" href="/assets/js/225.d006c34e.js"><link rel="prefetch" href="/assets/js/226.73612150.js"><link rel="prefetch" href="/assets/js/227.b02db9d1.js"><link rel="prefetch" href="/assets/js/228.aad43ff2.js"><link rel="prefetch" href="/assets/js/229.65340802.js"><link rel="prefetch" href="/assets/js/23.ceb5a5ff.js"><link rel="prefetch" href="/assets/js/230.97cab104.js"><link rel="prefetch" href="/assets/js/231.8415349a.js"><link rel="prefetch" href="/assets/js/232.db6d2697.js"><link rel="prefetch" href="/assets/js/233.723d05b1.js"><link rel="prefetch" href="/assets/js/234.26ed5e94.js"><link rel="prefetch" href="/assets/js/235.a586122b.js"><link rel="prefetch" href="/assets/js/236.f802bda8.js"><link rel="prefetch" href="/assets/js/237.cc8767ad.js"><link rel="prefetch" href="/assets/js/238.6485459e.js"><link rel="prefetch" href="/assets/js/239.9fbf3a55.js"><link rel="prefetch" href="/assets/js/24.07267ac6.js"><link rel="prefetch" href="/assets/js/240.1188f244.js"><link rel="prefetch" href="/assets/js/241.cbfb154d.js"><link rel="prefetch" href="/assets/js/242.352cea5a.js"><link rel="prefetch" href="/assets/js/243.07947e1c.js"><link rel="prefetch" href="/assets/js/244.f5b26fa9.js"><link rel="prefetch" href="/assets/js/245.c6030e32.js"><link rel="prefetch" href="/assets/js/246.d3fe99f7.js"><link rel="prefetch" href="/assets/js/247.185ae95d.js"><link rel="prefetch" href="/assets/js/248.a5f1548c.js"><link rel="prefetch" href="/assets/js/249.19691113.js"><link rel="prefetch" href="/assets/js/25.15e1f641.js"><link rel="prefetch" href="/assets/js/250.72fa1d33.js"><link rel="prefetch" href="/assets/js/251.bedd56f7.js"><link rel="prefetch" href="/assets/js/252.32bbcc8b.js"><link rel="prefetch" href="/assets/js/253.b59e5846.js"><link rel="prefetch" href="/assets/js/254.c0e37e1a.js"><link rel="prefetch" href="/assets/js/255.850da3cc.js"><link rel="prefetch" href="/assets/js/256.952d9817.js"><link rel="prefetch" href="/assets/js/257.88667bb8.js"><link rel="prefetch" href="/assets/js/258.c5873c28.js"><link rel="prefetch" href="/assets/js/259.6ae1dcbc.js"><link rel="prefetch" href="/assets/js/26.35b2bbdc.js"><link rel="prefetch" href="/assets/js/260.cb940cc3.js"><link rel="prefetch" href="/assets/js/261.0686c3e9.js"><link rel="prefetch" href="/assets/js/262.d0719839.js"><link rel="prefetch" href="/assets/js/263.ae83ebc1.js"><link rel="prefetch" href="/assets/js/264.209ad8a3.js"><link rel="prefetch" href="/assets/js/265.be8d1ee8.js"><link rel="prefetch" href="/assets/js/266.c51bceaa.js"><link rel="prefetch" href="/assets/js/267.fe8af48a.js"><link rel="prefetch" href="/assets/js/268.e18ed861.js"><link rel="prefetch" href="/assets/js/269.7126031e.js"><link rel="prefetch" href="/assets/js/27.270fcb06.js"><link rel="prefetch" href="/assets/js/270.89ead106.js"><link rel="prefetch" href="/assets/js/271.0643d07a.js"><link rel="prefetch" href="/assets/js/272.32a8e4b0.js"><link rel="prefetch" href="/assets/js/273.9881da47.js"><link rel="prefetch" href="/assets/js/274.2de022ea.js"><link rel="prefetch" href="/assets/js/275.d9a4fe99.js"><link rel="prefetch" href="/assets/js/276.d33de2e9.js"><link rel="prefetch" href="/assets/js/277.1ec367ab.js"><link rel="prefetch" href="/assets/js/278.66ab7c11.js"><link rel="prefetch" href="/assets/js/279.ff51cd15.js"><link rel="prefetch" href="/assets/js/28.ef3f6db2.js"><link rel="prefetch" href="/assets/js/280.ef45ed5f.js"><link rel="prefetch" href="/assets/js/281.87f26b81.js"><link rel="prefetch" href="/assets/js/282.c8ef594b.js"><link rel="prefetch" href="/assets/js/283.15643091.js"><link rel="prefetch" href="/assets/js/284.c4f25b2e.js"><link rel="prefetch" href="/assets/js/285.2d16e4b6.js"><link rel="prefetch" href="/assets/js/286.44eba266.js"><link rel="prefetch" href="/assets/js/287.7613e62f.js"><link rel="prefetch" href="/assets/js/288.b9546d55.js"><link rel="prefetch" href="/assets/js/289.125f85d8.js"><link rel="prefetch" href="/assets/js/29.177558be.js"><link rel="prefetch" href="/assets/js/290.db375797.js"><link rel="prefetch" href="/assets/js/291.90946626.js"><link rel="prefetch" href="/assets/js/292.a4524678.js"><link rel="prefetch" href="/assets/js/293.3ed9b083.js"><link rel="prefetch" href="/assets/js/294.d6c14116.js"><link rel="prefetch" href="/assets/js/295.2b485032.js"><link rel="prefetch" href="/assets/js/296.29d9aa0f.js"><link rel="prefetch" href="/assets/js/297.bfd72435.js"><link rel="prefetch" href="/assets/js/298.fc056989.js"><link rel="prefetch" href="/assets/js/299.0a3f258e.js"><link rel="prefetch" href="/assets/js/3.4dc033c7.js"><link rel="prefetch" href="/assets/js/30.248a229d.js"><link rel="prefetch" href="/assets/js/300.d064d776.js"><link rel="prefetch" href="/assets/js/301.d95b9fc0.js"><link rel="prefetch" href="/assets/js/302.1afa637a.js"><link rel="prefetch" href="/assets/js/303.231beaa8.js"><link rel="prefetch" href="/assets/js/304.05df35d9.js"><link rel="prefetch" href="/assets/js/305.f2d83cf9.js"><link rel="prefetch" href="/assets/js/306.d54f5e5e.js"><link rel="prefetch" href="/assets/js/307.d5df9000.js"><link rel="prefetch" href="/assets/js/308.ef2f52b3.js"><link rel="prefetch" href="/assets/js/309.d1f13319.js"><link rel="prefetch" href="/assets/js/31.32a62b91.js"><link rel="prefetch" href="/assets/js/310.30b84be3.js"><link rel="prefetch" href="/assets/js/311.d79e3145.js"><link rel="prefetch" href="/assets/js/312.58e24f19.js"><link rel="prefetch" href="/assets/js/313.9809a122.js"><link rel="prefetch" href="/assets/js/314.e92e41b1.js"><link rel="prefetch" href="/assets/js/315.8c2fc1d4.js"><link rel="prefetch" href="/assets/js/316.a0904343.js"><link rel="prefetch" href="/assets/js/317.18e42b54.js"><link rel="prefetch" href="/assets/js/318.6b051d27.js"><link rel="prefetch" href="/assets/js/319.513b0197.js"><link rel="prefetch" href="/assets/js/32.23b75afc.js"><link rel="prefetch" href="/assets/js/320.ae91bc36.js"><link rel="prefetch" href="/assets/js/321.a194efea.js"><link rel="prefetch" href="/assets/js/322.8273020e.js"><link rel="prefetch" href="/assets/js/323.d332e08f.js"><link rel="prefetch" href="/assets/js/324.ed867b64.js"><link rel="prefetch" href="/assets/js/325.c43ccf9a.js"><link rel="prefetch" href="/assets/js/326.9497d879.js"><link rel="prefetch" href="/assets/js/327.7f095e40.js"><link rel="prefetch" href="/assets/js/328.cb5c5847.js"><link rel="prefetch" href="/assets/js/329.d36b59f3.js"><link rel="prefetch" href="/assets/js/33.b258b779.js"><link rel="prefetch" href="/assets/js/330.b1a092b9.js"><link rel="prefetch" href="/assets/js/331.ff86566f.js"><link rel="prefetch" href="/assets/js/332.0daafa9f.js"><link rel="prefetch" href="/assets/js/333.b7e50524.js"><link rel="prefetch" href="/assets/js/334.7dcf9f0b.js"><link rel="prefetch" href="/assets/js/335.862c410a.js"><link rel="prefetch" href="/assets/js/336.c6384990.js"><link rel="prefetch" href="/assets/js/337.ab9d5e52.js"><link rel="prefetch" href="/assets/js/338.598ae59e.js"><link rel="prefetch" href="/assets/js/339.9b810ff8.js"><link rel="prefetch" href="/assets/js/34.3bd60f1f.js"><link rel="prefetch" href="/assets/js/340.5609a53c.js"><link rel="prefetch" href="/assets/js/341.969d335a.js"><link rel="prefetch" href="/assets/js/342.43f85dba.js"><link rel="prefetch" href="/assets/js/343.47280ef9.js"><link rel="prefetch" href="/assets/js/344.346ae5fc.js"><link rel="prefetch" href="/assets/js/345.32166361.js"><link rel="prefetch" href="/assets/js/346.86ff128b.js"><link rel="prefetch" href="/assets/js/347.3c5421fe.js"><link rel="prefetch" href="/assets/js/348.95910300.js"><link rel="prefetch" href="/assets/js/349.004158d8.js"><link rel="prefetch" href="/assets/js/35.18e8f66a.js"><link rel="prefetch" href="/assets/js/350.e10b195b.js"><link rel="prefetch" href="/assets/js/351.12f89875.js"><link rel="prefetch" href="/assets/js/352.83957394.js"><link rel="prefetch" href="/assets/js/353.475971b9.js"><link rel="prefetch" href="/assets/js/354.8af7b26b.js"><link rel="prefetch" href="/assets/js/355.85925e24.js"><link rel="prefetch" href="/assets/js/356.1d77cf9c.js"><link rel="prefetch" href="/assets/js/357.b467d481.js"><link rel="prefetch" href="/assets/js/358.ac96f32d.js"><link rel="prefetch" href="/assets/js/359.e048bd10.js"><link rel="prefetch" href="/assets/js/36.a7ae257c.js"><link rel="prefetch" href="/assets/js/360.e9b45545.js"><link rel="prefetch" href="/assets/js/361.ad1bb45b.js"><link rel="prefetch" href="/assets/js/362.4e24a30b.js"><link rel="prefetch" href="/assets/js/363.64f7dad5.js"><link rel="prefetch" href="/assets/js/364.d9e3ebc2.js"><link rel="prefetch" href="/assets/js/365.330e3086.js"><link rel="prefetch" href="/assets/js/366.a6c0afb3.js"><link rel="prefetch" href="/assets/js/367.ffcefa40.js"><link rel="prefetch" href="/assets/js/368.664c8e4d.js"><link rel="prefetch" href="/assets/js/369.67da2dd2.js"><link rel="prefetch" href="/assets/js/37.d709f9a9.js"><link rel="prefetch" href="/assets/js/370.b1791970.js"><link rel="prefetch" href="/assets/js/371.743a461a.js"><link rel="prefetch" href="/assets/js/372.7703ef1b.js"><link rel="prefetch" href="/assets/js/373.17de31f6.js"><link rel="prefetch" href="/assets/js/374.e508be9e.js"><link rel="prefetch" href="/assets/js/375.6e2e9fe3.js"><link rel="prefetch" href="/assets/js/376.8ca3511a.js"><link rel="prefetch" href="/assets/js/377.bfcee39c.js"><link rel="prefetch" href="/assets/js/378.21852b78.js"><link rel="prefetch" href="/assets/js/379.9649c307.js"><link rel="prefetch" href="/assets/js/38.68ca920e.js"><link rel="prefetch" href="/assets/js/380.dadb4418.js"><link rel="prefetch" href="/assets/js/381.a03c993d.js"><link rel="prefetch" href="/assets/js/382.bb7c22c1.js"><link rel="prefetch" href="/assets/js/383.bd68b2e5.js"><link rel="prefetch" href="/assets/js/384.f6dc7457.js"><link rel="prefetch" href="/assets/js/385.14287a91.js"><link rel="prefetch" href="/assets/js/386.a6284ac2.js"><link rel="prefetch" href="/assets/js/387.c51f147a.js"><link rel="prefetch" href="/assets/js/388.06d9651e.js"><link rel="prefetch" href="/assets/js/389.2d85d927.js"><link rel="prefetch" href="/assets/js/39.de850db9.js"><link rel="prefetch" href="/assets/js/390.2397b3e0.js"><link rel="prefetch" href="/assets/js/391.8413aaaf.js"><link rel="prefetch" href="/assets/js/392.00eecaa4.js"><link rel="prefetch" href="/assets/js/393.351dd3fd.js"><link rel="prefetch" href="/assets/js/394.d2cc4a70.js"><link rel="prefetch" href="/assets/js/395.abee64bf.js"><link rel="prefetch" href="/assets/js/396.bc265e6a.js"><link rel="prefetch" href="/assets/js/397.e4a96944.js"><link rel="prefetch" href="/assets/js/398.f0d26b29.js"><link rel="prefetch" href="/assets/js/399.e77c3ddc.js"><link rel="prefetch" href="/assets/js/4.2f502b73.js"><link rel="prefetch" href="/assets/js/40.91635261.js"><link rel="prefetch" href="/assets/js/400.c7eac401.js"><link rel="prefetch" href="/assets/js/401.06092d16.js"><link rel="prefetch" href="/assets/js/402.4e08e496.js"><link rel="prefetch" href="/assets/js/403.deba4c77.js"><link rel="prefetch" href="/assets/js/404.9100e4df.js"><link rel="prefetch" href="/assets/js/405.e9f451e2.js"><link rel="prefetch" href="/assets/js/406.a0da4aa4.js"><link rel="prefetch" href="/assets/js/408.eb2cde2d.js"><link rel="prefetch" href="/assets/js/409.9041f749.js"><link rel="prefetch" href="/assets/js/41.169a3cfc.js"><link rel="prefetch" href="/assets/js/410.c12f3710.js"><link rel="prefetch" href="/assets/js/411.452cda45.js"><link rel="prefetch" href="/assets/js/412.8691317a.js"><link rel="prefetch" href="/assets/js/413.25a68f21.js"><link rel="prefetch" href="/assets/js/414.7a9699d8.js"><link rel="prefetch" href="/assets/js/415.6e8cdaff.js"><link rel="prefetch" href="/assets/js/416.e8a86529.js"><link rel="prefetch" href="/assets/js/417.28330bde.js"><link rel="prefetch" href="/assets/js/418.2fed8e17.js"><link rel="prefetch" href="/assets/js/419.773032f4.js"><link rel="prefetch" href="/assets/js/42.e17cd061.js"><link rel="prefetch" href="/assets/js/420.56681228.js"><link rel="prefetch" href="/assets/js/421.0d170e13.js"><link rel="prefetch" href="/assets/js/422.fc8c2a11.js"><link rel="prefetch" href="/assets/js/423.e34ea6a6.js"><link rel="prefetch" href="/assets/js/424.20fe8748.js"><link rel="prefetch" href="/assets/js/425.f001b7cd.js"><link rel="prefetch" href="/assets/js/426.a91230ef.js"><link rel="prefetch" href="/assets/js/427.c6c9fe8d.js"><link rel="prefetch" href="/assets/js/428.9d4f5e41.js"><link rel="prefetch" href="/assets/js/429.c81cfd3f.js"><link rel="prefetch" href="/assets/js/43.f88aa667.js"><link rel="prefetch" href="/assets/js/430.eb61372f.js"><link rel="prefetch" href="/assets/js/431.4a25365a.js"><link rel="prefetch" href="/assets/js/432.42fc1bbe.js"><link rel="prefetch" href="/assets/js/433.8e9ac9f0.js"><link rel="prefetch" href="/assets/js/434.fdd0b160.js"><link rel="prefetch" href="/assets/js/435.d6cbac31.js"><link rel="prefetch" href="/assets/js/436.17750ba2.js"><link rel="prefetch" href="/assets/js/437.a1468099.js"><link rel="prefetch" href="/assets/js/438.ac6a45c2.js"><link rel="prefetch" href="/assets/js/439.242ae27a.js"><link rel="prefetch" href="/assets/js/44.3f36e228.js"><link rel="prefetch" href="/assets/js/440.b80b520c.js"><link rel="prefetch" href="/assets/js/441.e51a4bbb.js"><link rel="prefetch" href="/assets/js/442.ab0b3eda.js"><link rel="prefetch" href="/assets/js/443.47e44250.js"><link rel="prefetch" href="/assets/js/444.54c3b425.js"><link rel="prefetch" href="/assets/js/445.e006c12e.js"><link rel="prefetch" href="/assets/js/446.f2b79730.js"><link rel="prefetch" href="/assets/js/447.2509a397.js"><link rel="prefetch" href="/assets/js/448.b7d69dfc.js"><link rel="prefetch" href="/assets/js/449.8a575d9b.js"><link rel="prefetch" href="/assets/js/45.be1455b1.js"><link rel="prefetch" href="/assets/js/450.ad421aeb.js"><link rel="prefetch" href="/assets/js/451.f09912ae.js"><link rel="prefetch" href="/assets/js/452.f528c4ce.js"><link rel="prefetch" href="/assets/js/453.fc4dc0f9.js"><link rel="prefetch" href="/assets/js/454.733c315c.js"><link rel="prefetch" href="/assets/js/455.44fe35b1.js"><link rel="prefetch" href="/assets/js/456.7f650035.js"><link rel="prefetch" href="/assets/js/457.77ebc183.js"><link rel="prefetch" href="/assets/js/458.133078f4.js"><link rel="prefetch" href="/assets/js/459.33728b5e.js"><link rel="prefetch" href="/assets/js/46.5ad74cb5.js"><link rel="prefetch" href="/assets/js/460.6946f564.js"><link rel="prefetch" href="/assets/js/461.6f906c5c.js"><link rel="prefetch" href="/assets/js/462.26eca27e.js"><link rel="prefetch" href="/assets/js/463.e02e5f65.js"><link rel="prefetch" href="/assets/js/464.0df25c63.js"><link rel="prefetch" href="/assets/js/465.80cd249e.js"><link rel="prefetch" href="/assets/js/466.a0921e86.js"><link rel="prefetch" href="/assets/js/467.1bec2b47.js"><link rel="prefetch" href="/assets/js/468.b6fa37c1.js"><link rel="prefetch" href="/assets/js/469.a1d2487e.js"><link rel="prefetch" href="/assets/js/47.03df5d0a.js"><link rel="prefetch" href="/assets/js/470.36a4b9c8.js"><link rel="prefetch" href="/assets/js/471.28895273.js"><link rel="prefetch" href="/assets/js/472.b9fe392f.js"><link rel="prefetch" href="/assets/js/473.a2835d9c.js"><link rel="prefetch" href="/assets/js/474.cd57b37d.js"><link rel="prefetch" href="/assets/js/475.8d5a9792.js"><link rel="prefetch" href="/assets/js/476.f7f3781c.js"><link rel="prefetch" href="/assets/js/477.9b710b04.js"><link rel="prefetch" href="/assets/js/478.46d66687.js"><link rel="prefetch" href="/assets/js/479.e7444705.js"><link rel="prefetch" href="/assets/js/48.48f286ba.js"><link rel="prefetch" href="/assets/js/480.da2b750a.js"><link rel="prefetch" href="/assets/js/481.838a8e04.js"><link rel="prefetch" href="/assets/js/482.02bf8041.js"><link rel="prefetch" href="/assets/js/483.bb29ef2f.js"><link rel="prefetch" href="/assets/js/484.aebb68bd.js"><link rel="prefetch" href="/assets/js/485.a66ab41b.js"><link rel="prefetch" href="/assets/js/486.8df516fb.js"><link rel="prefetch" href="/assets/js/487.86d28130.js"><link rel="prefetch" href="/assets/js/488.0863da70.js"><link rel="prefetch" href="/assets/js/489.5d4d9e88.js"><link rel="prefetch" href="/assets/js/49.1ca52d11.js"><link rel="prefetch" href="/assets/js/490.3fd65d85.js"><link rel="prefetch" href="/assets/js/491.ae3a2f87.js"><link rel="prefetch" href="/assets/js/492.6f54679b.js"><link rel="prefetch" href="/assets/js/493.a594b1f4.js"><link rel="prefetch" href="/assets/js/494.4f03fae1.js"><link rel="prefetch" href="/assets/js/495.ae50b66b.js"><link rel="prefetch" href="/assets/js/496.bc92d835.js"><link rel="prefetch" href="/assets/js/497.eac65251.js"><link rel="prefetch" href="/assets/js/498.1d726726.js"><link rel="prefetch" href="/assets/js/499.01e4f7d1.js"><link rel="prefetch" href="/assets/js/5.7b1f056c.js"><link rel="prefetch" href="/assets/js/50.73732fe2.js"><link rel="prefetch" href="/assets/js/500.062ade4e.js"><link rel="prefetch" href="/assets/js/501.e6a711dc.js"><link rel="prefetch" href="/assets/js/502.c79e28e2.js"><link rel="prefetch" href="/assets/js/503.bf97bce9.js"><link rel="prefetch" href="/assets/js/504.b2784ef0.js"><link rel="prefetch" href="/assets/js/505.0767ba54.js"><link rel="prefetch" href="/assets/js/506.8ae14637.js"><link rel="prefetch" href="/assets/js/507.003e2349.js"><link rel="prefetch" href="/assets/js/508.ecb5e6bd.js"><link rel="prefetch" href="/assets/js/509.b644f44a.js"><link rel="prefetch" href="/assets/js/51.bed7cf61.js"><link rel="prefetch" href="/assets/js/510.b660946f.js"><link rel="prefetch" href="/assets/js/511.cb186c8f.js"><link rel="prefetch" href="/assets/js/512.d176170f.js"><link rel="prefetch" href="/assets/js/513.18a1afa5.js"><link rel="prefetch" href="/assets/js/514.4a33e931.js"><link rel="prefetch" href="/assets/js/515.8496bd4d.js"><link rel="prefetch" href="/assets/js/516.529b9476.js"><link rel="prefetch" href="/assets/js/517.289738f1.js"><link rel="prefetch" href="/assets/js/518.eda39556.js"><link rel="prefetch" href="/assets/js/519.85b42de5.js"><link rel="prefetch" href="/assets/js/52.22a7da62.js"><link rel="prefetch" href="/assets/js/520.8b531775.js"><link rel="prefetch" href="/assets/js/521.8e4b66fb.js"><link rel="prefetch" href="/assets/js/522.050bfc55.js"><link rel="prefetch" href="/assets/js/523.e973f1e0.js"><link rel="prefetch" href="/assets/js/524.fd160738.js"><link rel="prefetch" href="/assets/js/525.5a4bc307.js"><link rel="prefetch" href="/assets/js/526.361bc4fa.js"><link rel="prefetch" href="/assets/js/527.06ee9d73.js"><link rel="prefetch" href="/assets/js/528.22d9b118.js"><link rel="prefetch" href="/assets/js/529.b7592c16.js"><link rel="prefetch" href="/assets/js/53.767f3bbf.js"><link rel="prefetch" href="/assets/js/530.ad96d564.js"><link rel="prefetch" href="/assets/js/531.61905243.js"><link rel="prefetch" href="/assets/js/532.11aebf61.js"><link rel="prefetch" href="/assets/js/533.0cddb226.js"><link rel="prefetch" href="/assets/js/534.d1c9cc36.js"><link rel="prefetch" href="/assets/js/54.d1f9eec8.js"><link rel="prefetch" href="/assets/js/55.aa90e812.js"><link rel="prefetch" href="/assets/js/56.4d7f81f2.js"><link rel="prefetch" href="/assets/js/57.3c540e8d.js"><link rel="prefetch" href="/assets/js/58.fc1c23f2.js"><link rel="prefetch" href="/assets/js/59.c7a7a4c0.js"><link rel="prefetch" href="/assets/js/6.056886f1.js"><link rel="prefetch" href="/assets/js/60.40e590ae.js"><link rel="prefetch" href="/assets/js/61.e400b323.js"><link rel="prefetch" href="/assets/js/62.bbb30ef1.js"><link rel="prefetch" href="/assets/js/63.c31cd2bb.js"><link rel="prefetch" href="/assets/js/64.62321188.js"><link rel="prefetch" href="/assets/js/65.44adc2b3.js"><link rel="prefetch" href="/assets/js/66.b5740d4f.js"><link rel="prefetch" href="/assets/js/67.76c3624c.js"><link rel="prefetch" href="/assets/js/68.6dd982d4.js"><link rel="prefetch" href="/assets/js/69.eb1390ec.js"><link rel="prefetch" href="/assets/js/7.a96cecf9.js"><link rel="prefetch" href="/assets/js/70.8c882bdd.js"><link rel="prefetch" href="/assets/js/71.001c968a.js"><link rel="prefetch" href="/assets/js/72.ae4ca075.js"><link rel="prefetch" href="/assets/js/73.d6ae6a27.js"><link rel="prefetch" href="/assets/js/74.fba60e37.js"><link rel="prefetch" href="/assets/js/75.0b1bf7bf.js"><link rel="prefetch" href="/assets/js/76.ee19d90e.js"><link rel="prefetch" href="/assets/js/77.fe8ac5f0.js"><link rel="prefetch" href="/assets/js/78.ae09432e.js"><link rel="prefetch" href="/assets/js/79.c1b10e2d.js"><link rel="prefetch" href="/assets/js/80.ae809538.js"><link rel="prefetch" href="/assets/js/81.ca11b4c7.js"><link rel="prefetch" href="/assets/js/82.308b98e4.js"><link rel="prefetch" href="/assets/js/83.355d9dde.js"><link rel="prefetch" href="/assets/js/84.a2b61d48.js"><link rel="prefetch" href="/assets/js/85.cf992fda.js"><link rel="prefetch" href="/assets/js/86.f547c7ea.js"><link rel="prefetch" href="/assets/js/87.2b02746a.js"><link rel="prefetch" href="/assets/js/88.e939aad5.js"><link rel="prefetch" href="/assets/js/89.b000c42a.js"><link rel="prefetch" href="/assets/js/90.dadef001.js"><link rel="prefetch" href="/assets/js/91.c0fe2e32.js"><link rel="prefetch" href="/assets/js/92.e09650b9.js"><link rel="prefetch" href="/assets/js/93.427c7280.js"><link rel="prefetch" href="/assets/js/94.90fc5f58.js"><link rel="prefetch" href="/assets/js/95.13d42b3a.js"><link rel="prefetch" href="/assets/js/96.d0a2ea8c.js"><link rel="prefetch" href="/assets/js/97.cc9a0eda.js"><link rel="prefetch" href="/assets/js/98.3c9f1b7e.js"><link rel="prefetch" href="/assets/js/99.0420dcbc.js"><link rel="prefetch" href="/assets/js/vendors~docsearch.33b2b47d.js">
    <link rel="stylesheet" href="/assets/css/0.styles.40c15e22.css">
  </head>
  <body>
    <div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><img src="/logo.png" alt="鱼皮的编程宝典" class="logo"> <span class="site-name can-hide">鱼皮的编程宝典</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/学习路线/" class="nav-link">
  学习路线
</a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="自学之路" class="dropdown-title"><span class="title">自学之路</span> <span class="arrow down"></span></button> <button type="button" aria-label="自学之路" class="mobile-dropdown-title"><span class="title">自学之路</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/自学之路/#大学经历" class="nav-link">
  大学经历
</a></li><li class="dropdown-item"><!----> <a href="/自学之路/#求职经历" class="nav-link">
  求职经历
</a></li><li class="dropdown-item"><!----> <a href="/自学之路/#职场工作" class="nav-link">
  职场工作
</a></li><li class="dropdown-item"><!----> <a href="/自学之路/#创作经历" class="nav-link">
  创作经历
</a></li><li class="dropdown-item"><!----> <a href="/自学之路/#创业经历" class="nav-link">
  创业经历
</a></li><li class="dropdown-item"><!----> <a href="/自学之路/#生活日常" class="nav-link">
  生活日常
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="编程分享" class="dropdown-title"><span class="title">编程分享</span> <span class="arrow down"></span></button> <button type="button" aria-label="编程分享" class="mobile-dropdown-title"><span class="title">编程分享</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/编程分享/#入门必看-学习路线" class="nav-link">
  入门必看-学习路线
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#学习指南" class="nav-link">
  学习指南
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#开发经验" class="nav-link">
  开发经验
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#求职经验" class="nav-link">
  求职经验
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#职场经验" class="nav-link">
  职场经验
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#技术分享" class="nav-link">
  技术分享
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#实战教程" class="nav-link">
  实战教程
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#其他" class="nav-link">
  其他
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#📚-项目教程" class="nav-link">
  项目教程
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#个人作品" class="nav-link">
  个人作品
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#🎁-编程资源" class="nav-link">
  编程资源
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#🌐-科技科普" class="nav-link">
  科技科普
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="项目实战" class="dropdown-title"><span class="title">项目实战</span> <span class="arrow down"></span></button> <button type="button" aria-label="项目实战" class="mobile-dropdown-title"><span class="title">项目实战</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/项目实战/OJ 判题系统.html" class="nav-link">
  OJ 判题系统
</a></li><li class="dropdown-item"><!----> <a href="/项目实战/智能 BI 平台.html" class="nav-link">
  智能 BI 平台
</a></li><li class="dropdown-item"><!----> <a href="/项目实战/聚合搜索平台.html" class="nav-link">
  聚合搜索平台
</a></li><li class="dropdown-item"><!----> <a href="/项目实战/API 开放平台.html" class="nav-link">
  API 开放平台
</a></li><li class="dropdown-item"><!----> <a href="/项目实战/伙伴匹配系统.html" class="nav-link">
  伙伴匹配系统
</a></li><li class="dropdown-item"><!----> <a href="/项目实战/用户中心项目.html" class="nav-link">
  用户中心项目
</a></li><li class="dropdown-item"><!----> <a href="/项目实战/Java 后端万用项目模板.html" class="nav-link">
  Java 后端万用项目模板
</a></li></ul></div></div><div class="nav-item"><a href="/知识碎片/" class="nav-link">
  知识碎片
</a></div><div class="nav-item"><a href="/编程导航/" class="nav-link">
  🔥 编程导航
</a></div><div class="nav-item"><a href="/产品服务/" class="nav-link">
  产品服务
</a></div><div class="nav-item"><a href="/作者/" class="nav-link">
  作者
</a></div> <a href="https://github.com/liyupi/codefather" target="_blank" rel="noopener noreferrer" class="repo-link">
    GitHub
    <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/学习路线/" class="nav-link">
  学习路线
</a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="自学之路" class="dropdown-title"><span class="title">自学之路</span> <span class="arrow down"></span></button> <button type="button" aria-label="自学之路" class="mobile-dropdown-title"><span class="title">自学之路</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/自学之路/#大学经历" class="nav-link">
  大学经历
</a></li><li class="dropdown-item"><!----> <a href="/自学之路/#求职经历" class="nav-link">
  求职经历
</a></li><li class="dropdown-item"><!----> <a href="/自学之路/#职场工作" class="nav-link">
  职场工作
</a></li><li class="dropdown-item"><!----> <a href="/自学之路/#创作经历" class="nav-link">
  创作经历
</a></li><li class="dropdown-item"><!----> <a href="/自学之路/#创业经历" class="nav-link">
  创业经历
</a></li><li class="dropdown-item"><!----> <a href="/自学之路/#生活日常" class="nav-link">
  生活日常
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="编程分享" class="dropdown-title"><span class="title">编程分享</span> <span class="arrow down"></span></button> <button type="button" aria-label="编程分享" class="mobile-dropdown-title"><span class="title">编程分享</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/编程分享/#入门必看-学习路线" class="nav-link">
  入门必看-学习路线
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#学习指南" class="nav-link">
  学习指南
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#开发经验" class="nav-link">
  开发经验
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#求职经验" class="nav-link">
  求职经验
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#职场经验" class="nav-link">
  职场经验
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#技术分享" class="nav-link">
  技术分享
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#实战教程" class="nav-link">
  实战教程
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#其他" class="nav-link">
  其他
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#📚-项目教程" class="nav-link">
  项目教程
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#个人作品" class="nav-link">
  个人作品
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#🎁-编程资源" class="nav-link">
  编程资源
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#🌐-科技科普" class="nav-link">
  科技科普
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="项目实战" class="dropdown-title"><span class="title">项目实战</span> <span class="arrow down"></span></button> <button type="button" aria-label="项目实战" class="mobile-dropdown-title"><span class="title">项目实战</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/项目实战/OJ 判题系统.html" class="nav-link">
  OJ 判题系统
</a></li><li class="dropdown-item"><!----> <a href="/项目实战/智能 BI 平台.html" class="nav-link">
  智能 BI 平台
</a></li><li class="dropdown-item"><!----> <a href="/项目实战/聚合搜索平台.html" class="nav-link">
  聚合搜索平台
</a></li><li class="dropdown-item"><!----> <a href="/项目实战/API 开放平台.html" class="nav-link">
  API 开放平台
</a></li><li class="dropdown-item"><!----> <a href="/项目实战/伙伴匹配系统.html" class="nav-link">
  伙伴匹配系统
</a></li><li class="dropdown-item"><!----> <a href="/项目实战/用户中心项目.html" class="nav-link">
  用户中心项目
</a></li><li class="dropdown-item"><!----> <a href="/项目实战/Java 后端万用项目模板.html" class="nav-link">
  Java 后端万用项目模板
</a></li></ul></div></div><div class="nav-item"><a href="/知识碎片/" class="nav-link">
  知识碎片
</a></div><div class="nav-item"><a href="/编程导航/" class="nav-link">
  🔥 编程导航
</a></div><div class="nav-item"><a href="/产品服务/" class="nav-link">
  产品服务
</a></div><div class="nav-item"><a href="/作者/" class="nav-link">
  作者
</a></div> <a href="https://github.com/liyupi/codefather" target="_blank" rel="noopener noreferrer" class="repo-link">
    GitHub
    <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav>  <ul class="sidebar-links"><li><a href="/%E7%BC%96%E7%A8%8B%E5%AF%BC%E8%88%AA/" class="sidebar-link">编程导航知识星球</a></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>星球资料</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>星球项目</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>星球直播</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>真实评价</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>星球故事</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>关于我们</span> <span class="arrow right"></span></p> <!----></section></li><li><a href="/%E6%98%9F%E7%90%83%E5%B9%B4%E5%BA%A6%E6%80%BB%E7%BB%93/" class="sidebar-link">2022 星球年度总结</a></li><li><a href="/%E5%8A%A0%E5%85%A5%E7%BC%96%E7%A8%8B%E5%AF%BC%E8%88%AA/" class="sidebar-link">加入编程导航</a></li></ul> </aside> <main class="page"> <div class="content"><div style="width:100%"><div class="theme-default-content custom-content content__default"><p>本文是 <a href="https://mp.weixin.qq.com/s?__biz=MzI1NDczNTAwMA==&amp;mid=2247524980&amp;idx=2&amp;sn=9ddcdb6c52aa096ed4c5ad0ced946a7d&amp;chksm=e9c28583deb50c95f3c2665713a8bbc372c68332b3bfb846cf4b23af3f1cc07164832a291335&amp;token=689599617&amp;lang=zh_CN&amp;scene=21#wechat_redirect" target="_blank" rel="noopener noreferrer">编程导航星球<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a> 的阳树同学的年终总结，文采非凡，非常励志：</p> <blockquote><p>星球原文链接：https://t.zsxq.com/09NgILITI</p></blockquote> <p>2022年，经历过太多太多的故事，也发生了太多太多的事故。</p> <p>这一年，迷途失措且努力，未来可期却恍惚，我错失了太多的机会，幸然遇到了大家，让我们一同努力见证Cool(小陈同学)的改变，这一年我经历过比赛失利，国奖失之交臂，也遇到了求职季的滑铁卢。但有幸的是遇到了一堆可爱的球友，利用<a href="https://mp.weixin.qq.com/s?__biz=MzI1NDczNTAwMA==&amp;mid=2247524980&amp;idx=2&amp;sn=9ddcdb6c52aa096ed4c5ad0ced946a7d&amp;chksm=e9c28583deb50c95f3c2665713a8bbc372c68332b3bfb846cf4b23af3f1cc07164832a291335&amp;token=689599617&amp;lang=zh_CN&amp;scene=21#wechat_redirect" target="_blank" rel="noopener noreferrer">星球<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>的资源也找到了一个泉州的IT实习生（目前是干运维）。</p> <p>这一年,我走了很远的路，吃了很多的苦，踩了很多的坑，才将这份年终总结交付与星球大伙。也曾有幸与球友一起分享只属于我们的“情书”</p> <h2 id="第一节-对你-同样对自己说"><a href="#第一节-对你-同样对自己说" class="header-anchor">#</a> 第一节：对你，同样对自己说</h2> <p>2022 这一年，半分努力，半分浑噩，忽隐忽现的理想，支撑着自己踽踽独行。几年前，他应征入伍，算不上什么好选择，也或许并没有选择的权利。北方干冷的空气，窗前停驻的麻雀，以及战友豪迈的言语曾一度让我觉得，南京或许会是我最终的归宿。</p> <p>在南京的第二个年头，这一年我 21 周岁，报国的赤心和热血似乎都正热时，我做出了人生的第一个计划，“退役复学”。</p> <p>感恩军旅生活，让我真正的热爱祖国与持续学习，在二零年上旬，新冠疫情爆发了，一个八十八线小城市的我，除了紧张的气氛外，到也没受到多大的影响，在家依旧忙碌，直到 2022 年 2 月 10 日，我记得非常清楚，写了一天前端（三件套的弱鸡）代码的我，结束了当天的笔记小结，打开了B站，悄然间随机看见了关注了好久的鱼皮居然真的开了学习圈子（<a href="https://mp.weixin.qq.com/s?__biz=MzI1NDczNTAwMA==&amp;mid=2247524980&amp;idx=2&amp;sn=9ddcdb6c52aa096ed4c5ad0ced946a7d&amp;chksm=e9c28583deb50c95f3c2665713a8bbc372c68332b3bfb846cf4b23af3f1cc07164832a291335&amp;token=689599617&amp;lang=zh_CN&amp;scene=21#wechat_redirect" target="_blank" rel="noopener noreferrer">编程导航<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>），这让一个对编程说不上爱的萌新，从此爱上了 coder与 share，（一个利他的博主谁又能不爱呢？），曾经把编程视为作业的我，我发现我能用他 code 出一个全新的世界，我便一发不可收拾爱上了它（这里的它指的是编程）。</p> <h3 id="一-身体是革命的本钱"><a href="#一-身体是革命的本钱" class="header-anchor">#</a> (一)身体是革命的本钱</h3> <p>but「熬夜 + 不规律的作息 + 不健康的饮食」+ 「年轻」= 无事发生</p> <p>“年轻人”，似乎总是有一种得天独厚的优势，有精力，有体力。而这对于我这个退役选手更是easy了，这些不太好的习惯也似乎在年轻一代的大水潭中泛不出多少涟漪，凭借着这份“本钱” ，自然能更加心安理得，反正：我还年轻，我还可以熬。</p> <p><img alt="" data-src="https://files.mdnice.com/user/31817/bf3cd8ea-b4a6-475b-aa47-9f79659a6a88.png" loading="lazy" class="lazy"></p> <p>别人的 2022 从本科出发，我的 2022 确是从一段心酸史出发</p> <blockquote><p>这里是我的自我介绍（自我救赎的第一步）,链接:
https://wx.zsxq.com/dweb2/index/topic_detail/185412442284812</p></blockquote> <p><img alt="" data-src="https://files.mdnice.com/user/31817/1def5830-ab95-4223-8663-e23c45cfa616.png" loading="lazy" class="lazy"></p> <p>2022 年 2 月 12 日，我发布了 2022 年星球的第一篇文章，而上一篇还停留在 2021 年的 12 月 30 日（是我的 csdn 博客）</p> <h3 id="_2-继续战斗-也请先照顾好自己"><a href="#_2-继续战斗-也请先照顾好自己" class="header-anchor">#</a> (2) 继续战斗，也请先照顾好自己</h3> <p>疫情消耗掉了大半年的时间，大学断断续续的锻炼，把熬夜换成了早起，开始按时吃早餐，解封后的日子，趁着南方冬天来的很晚，与几个战友开始了跑步的活动，这一阶段体能上确实有了很大的提升，我很享受跑步后，被风吹过的感觉（皮一下：我也曾吹过未来女朋友曾吹过的风）。</p> <p>说来也很神奇，每次当我没什么精神，只要去跑步，回来冲个澡就会精神百倍，所以我一般傍晚的时候有空就会去跑跑，然后就可以再晚上全身心的写代码，整理笔记（当然最后就是发到<a href="https://mp.weixin.qq.com/s?__biz=MzI1NDczNTAwMA==&amp;mid=2247524980&amp;idx=2&amp;sn=9ddcdb6c52aa096ed4c5ad0ced946a7d&amp;chksm=e9c28583deb50c95f3c2665713a8bbc372c68332b3bfb846cf4b23af3f1cc07164832a291335&amp;token=689599617&amp;lang=zh_CN&amp;scene=21#wechat_redirect" target="_blank" rel="noopener noreferrer">星球<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>上面，感受大家阅读后的“指责与指导“，哈哈哈）。</p> <p>运动本不应被当做一种应该做的任务，而应被看作一种休闲的方式，没必要与别人比较强度，组别，只有自己舒服就是最好的标准。</p> <p>所以，不管是真的热爱也罢，苦于生计也罢，即使继续战斗也请先照顾好自己。</p> <h3 id="二-随波逐流只会让你接近平均值"><a href="#二-随波逐流只会让你接近平均值" class="header-anchor">#</a> (二) 随波逐流只会让你接近平均值</h3> <p>普通人的危机感总来自他人，而想要成为一个优秀的人，危机感必须来自自身，随波逐流只会让你靠近平均值，总有一种恍惚感，懂得越多，越觉得自己像这个世界的孤儿，与同龄人格格不入，总是自负的认为他人幼稚，就像鲁迅先生说过：“人类的悲欢并不相通......”。听着他们谈论着我 “早就走过的路”，“早就见过的风光”，我也只觉得他们吵闹。</p> <p>可惜，我在某些时候，总是小气的，心中惰于学习，更不愿将自己的 “财富” 与他人分享，总忧虑别人以己为石，跳向远方，患得患失的一种矛盾，让自己无奈又颓靡。</p> <p>后来我遇到了鱼皮，我发现分享的乐趣后我便不再随波逐流，持续性努力，以下是我在星球这一年输出的笔记</p> <blockquote><p>（ps:请大佬过目,记得留赞）如下：</p></blockquote> <ul><li><p>大数据笔记：https://wx.zsxq.com/dweb2/index/topic_detail/814518455512152</p></li> <li><p>运维Devops笔记：https://wx.zsxq.com/dweb2/index/topic_detail/214515114115541</p></li> <li><p>低代码Lowcode笔记：https://wx.zsxq.com/dweb2/index/topic_detail/412414112228588</p></li> <li><p>yarn的学习：https://wx.zsxq.com/dweb2/index/topic_detail/212212252521211</p></li> <li><p>软件设计师：https://wx.zsxq.com/dweb2/index/topic_detail/585581528552144</p></li> <li><p>NodeJS笔记：https://wx.zsxq.com/dweb2/index/topic_detail/812818155184252</p></li> <li><p>机器学习方面：https://wx.zsxq.com/dweb2/index/topic_detail/184518144215252</p></li> <li><p>Vue+pinpa笔记：https://wx.zsxq.com/dweb2/index/topic_detail/812842884884212</p></li> <li><p>MySQL笔记：https://wx.zsxq.com/dweb2/index/topic_detail/184515814125522</p></li> <li><p>华为鸿蒙认证：https://wx.zsxq.com/dweb2/index/topic_detail/212822855512511</p></li> <li><p>软件工程笔记：https://wx.zsxq.com/dweb2/index/topic_detail/212884824112411</p></li> <li><p>力扣刷题攻略：https://wx.zsxq.com/dweb2/index/topic_detail/212558584284181</p></li> <li><p>ES6模块暴露笔记：https://wx.zsxq.com/dweb2/index/topic_detail/585222581411824</p></li> <li><p>ACM算法思维导图：https://wx.zsxq.com/dweb2/index/topic_detail/218242454828521</p></li> <li><p>Bootstrap笔记：https://wx.zsxq.com/dweb2/index/topic_detail/218242545585551</p></li> <li><p>网络安全资源贴：https://wx.zsxq.com/dweb2/index/topic_detail/581542544221584</p></li></ul> <h3 id="三-不被枯井遮住双眼-保持谦虚及自尊"><a href="#三-不被枯井遮住双眼-保持谦虚及自尊" class="header-anchor">#</a> (三) 不被枯井遮住双眼，保持谦虚及自尊</h3> <p>目光短浅带来的问题是致命的，当你有一天觉得自己好像还不错，好像已经登到峰顶了。那就需要反思一下自己或许已经陷入了“枯井”中，你会这样想，那大概率是被枯井遮住了双眼，你看不到枯井之外的世界，为了一点点成就就沾沾自喜，虽然阶段性的成功也很值得高兴，但千万不要走进这份舒适区中，温水煮青蛙的例子也不少见，走出枯井后，你就会发现外面的世界还是在一个枯井中，你要做的就是不断的往上爬。</p> <p><img alt="" data-src="https://files.mdnice.com/user/31817/85b5cdd4-1949-4434-bcc2-ea6ed940757d.png" loading="lazy" class="lazy"></p> <p>永远不要看不起任何人，即使一位在你眼中普普通通的人，他的技术或许逊色你不少，但是他在思想和创造性上总能给你意想不到的惊喜。即使我的学校很普通，但是我的身边仍然有着一批充满韧劲的朋友，希望能通过考研，亦或者对于技术的钻研，弥补自己高考的遗憾，我记得大二那年，我常常在凌晨一点半两点收到微信弹窗大家一起交流一些问题。<strong>备战比赛的三点一线生活，学技术的通宵达旦</strong>，为了目标不断努力，这样的人仍然值得我尊重与学习，我认为他们拥有了<strong>一名大学生应该有的“灵魂”</strong>。</p> <p>除此之外，请千万保持自尊，<strong>自尊并非别人给的，而是自己给的</strong>，如果遇到比自己弱的人就有“自尊”，遇到比自己强的人就畏畏惧惧，没有“自尊”，那么这种自尊就没有任何意义了，<strong>闻道有先后，术业有专攻，应当尊重任何在某个方向的前辈</strong>，但是也没必要过于拘束，<strong>见贤思齐，见不贤而内自省即可</strong>。</p> <h3 id="四-远离总是给你负面情绪的人"><a href="#四-远离总是给你负面情绪的人" class="header-anchor">#</a> (四) 远离总是给你负面情绪的人</h3> <p>但是如果你遇到了一些人，总时时刻刻，在学习以及生活上给你一些负面的观点，这种人会严重影响你坚定往枯井上爬的信念，不管你们是什么关系，我给你一个建议——赶快跑（这里现代化的叫法喊：润），有多快，跑多快，如果你们不幸要发生必要的交互，请将这段关系限制在最小范围内，切勿投入感情</p> <h3 id="五-传道授业-若要学知识-必得为人师"><a href="#五-传道授业-若要学知识-必得为人师" class="header-anchor">#</a> (五) 传道授业：若要学知识，必得为人师</h3> <p>这一年我很喜欢读一本书，那就是《软技能：代码之外的生存指南》（下面我会提到）其中有一个章节给我印象很深，即第33章，传道授业：若要学知识，必得为人师，下面我摘了一段：</p> <blockquote><p>在你传道授业的时候都会发生什么 当我们初次接触某个课题的时候，我们对于自己对此了解多少往往都会高估。我们很容易自欺欺人，以为已经对某样东西 了如指掌，直到我们试着去教会别人的时候，才能发现事实并非如此。 你有没有被别人问过一个非常简单的问题，却震惊地发现自己不能清晰地解答。你刚开始会说：“这个，很明显……”，接 下来只有“哦……”。这种情况在我身上屡屡发生。我们自认为已经透彻理解了这个话题，实际上我们只是掌握了表面知识。 这就是传道授业的价值。在你的知识集合里面，总有一部分知识你并没有理解透彻到可以向别人解释，而“教”的过程能够迫使你面对这一部分。作为人类，我们的大脑善于模式识别。我们能够识别模式，并且套用这些固定的模式去解决许多问题， 而没有做到“知其然”也“知其所以然”。 这种肤浅的理解力无碍于我们完成工作，因而不易被察觉。然而一旦我们试着向别人解释某件事情的运作原理或背后的原因的时候，我们在认知上的漏洞就会暴露出来。 不过这并非坏事。我们需要知道自己的弱点，然后才能对症下药。在教别人的时候，你迫使自己面对课题中的难点，深入 探索，从只知皮毛变成完全理解。学习是暂时的，而理解是永久性的。我可以背诵九九乘法表，但是一旦理解了乘法的运算原 理，即使突然记性不好，我也可以重做一张乘法表。</p></blockquote> <p>我已经记不清很多年前我初中亦还是我高中的一位任课老师曾经说过这么一句话：能教会别人，自己也就没问题了。可惜那个时候的自己压根没提起学习的欲望，当然了，也或许与我自己根本不喜欢枯燥的应试教育有点关系。我也没理解这句话的意思。大学这几年，我很喜欢与朋友交流技术方面的事情，每个人都有很多我意想不到的理解与想法。还有更多时候我更加喜欢帮助朋友解决一些问题，当你什么时候可以将别人的一个问题，用<strong>通俗的解释说明 + 简洁却又富有代表意义的实例 + 补充一些自己的理解与看法</strong>，说给别人听得时候，最起码，我认为你对于这块内容就真的入门了。当你能够滔滔不绝的讲解给别人一块内容，<strong>能合理的安排讲解的引子与顺序的时候，这说明这一块的知识已经在你脑海中有了一条清晰的体系</strong>。同时你通过与别人交流的时候，再根据别人对你提供的一些方向好好反思斟酌一下，不断的修改。相信我，当你成功与他人讲解/交流你的知识后，你会爱上这种感觉的。</p> <p>但是老板和老师可不会等你，很多时候我们都不得不 “填鸭子” 式的学习一些内容，例如根据老师的要求，强制使用一些指定的框架或者技术，或者根据业务/项目组长的需要和安排，你需要快速的学习一些你并不熟悉的内容，凭借我们多年 “应试” 的本事，大家总能很快的就找到这种套路，例如怎么快速搭建环境，怎么配置，如何快速的用起来。<strong>但是千万别止步于此，不然终究只是一个CRUD工程师</strong>，这也不一定是坏事，当你熟悉如何用一款框架或技术后，再去看一些源码，或许会事半功倍。</p> <blockquote><p>作为人类，我们的大脑善于模式识别。我们能够识别模式，并且套用这些固定的模式去解决许多问题， 而没有做到“知其然”也“知其所以然”。</p></blockquote> <h3 id="六-别让情绪扼杀你状态"><a href="#六-别让情绪扼杀你状态" class="header-anchor">#</a> (六) 别让情绪扼杀你状态</h3> <h4 id="_1-所谓迷茫-都不过是想的太多"><a href="#_1-所谓迷茫-都不过是想的太多" class="header-anchor">#</a> (1) 所谓迷茫，都不过是想的太多</h4> <p>总在独处时，开始怀疑自己，我是谁，我在干什么，以后该怎么办......在我理智的那两天，我都会把这种状态归咎于闲的蛋疼。但是确确实实在那种状态下，什么事情都没法下手，最严重的的一种状态，就是会有一种深深的无力感，感觉距离目标实在太远了。这种无力感，会瞬间摧毁你的勇气，让你不敢下手去做些什么。就像是一场噩梦，你明知道应该醒来，却无法挣脱。</p> <p><img alt="" data-src="https://files.mdnice.com/user/31817/c8dbcca5-b942-42b1-87a1-fbc3396304e9.png" loading="lazy" class="lazy"></p> <p>这种状态，都不过是因为想的太多，我们总是在刚起步的时候，就想着终点在哪里；总是在刚学习一项技能的时候，就想着攻克技术难题；总是在与人初次见面之后，就想推心置腹；总是在今天都没有过好的时候，就想着明天该怎么办。我就是这样一个人，常常纠结于各种各样的学习路线上，每次在学习不同的技术的选择上，进行纠结，但其实这两者我明明是有足够的时间兼学的，还有时候明明知道基础要一步一步走扎实，但是却想到后面还有各种各样的新式技术，高级技术等着我，就会又开始所谓的迷茫。</p> <p>其实这种所谓的迷茫，很多时候都是源自于我们想的太多了，路要一步一步走，饭要一口一口吃，想的太多，就会感到迷茫和焦虑。最好的办法就是，<strong>立足当下，安于寂寞，不要太着急看到极大的成果，放平心态，只有你的心里想通了，你的状态就会迅速回归，重振旗鼓。</strong></p> <h4 id="_2-你总需要一个人走一段路"><a href="#_2-你总需要一个人走一段路" class="header-anchor">#</a> (2) 你总需要一个人走一段路</h4> <p>孤独伴随着，几年前来到几百公里外上学的我，亦或是年后即将开始找实习，找工作的我。</p> <p>我想我总会有一段时间感觉到莫名的孤独，想找个人聊聊天，却又不想去找，自己戴着耳机，漫无目的的走在路上。以及每次晚上或者凌晨写完东西，躺在床上有一种说不出的感觉，特别的是，我并不感到忧伤，只是感觉空落落的，也不想认识新的朋友，也不想联系家人，却也不知道有些话该和谁说。</p> <p><img alt="" data-src="https://files.mdnice.com/user/31817/ba37c4c3-01bd-4e30-9414-673ed28a201f.png" loading="lazy" class="lazy"></p> <p>即使你人缘很好，常常有三五好友一起相伴，但是总会有一些空隙感到孤独，这源自于你的内心还是不够强大，有的人独行却乐在其中，有的人三无成伴却又内心孤独，因为孤独的人心中并无足乐者，灵魂还是被空虚填满。</p> <p>所以，请充实自己的生活，多出去走走，多与人交往，给自己多找点自己感兴趣的事情去做，即使感到孤独，也没必要太过沮丧，<strong>只需要告诉自己，沮丧，孤独，都是正常的，我们要在自己走的这段路上，让自己成为一个更加闪亮的人。走过自己的一段夜路，终将会有柳暗花明又一村的“闹市”。</strong></p> <h3 id="七-恋爱的本质是「撞」而不是「寻」"><a href="#七-恋爱的本质是「撞」而不是「寻」" class="header-anchor">#</a> (七) 恋爱的本质是「撞」而不是「寻」</h3> <h4 id="_1-你真的想要谈恋爱吗"><a href="#_1-你真的想要谈恋爱吗" class="header-anchor">#</a> (1) 你真的想要谈恋爱吗？</h4> <p>有时候总会想，谈恋爱是「一定要」还是「可以要」亦或者 「没必要」。</p> <p>总有那么几天，好似陷入了爱情的怪圈。让你平淡无奇的生活荡起了阵阵涟漪，打破了你安稳的生活轨迹。</p> <p>大部分时候，或许只是你想要摆脱这种“孤零零”的状态，又或者看着别人的“幸福”与“快乐”，激起了你的那份欲望，而欲望总会在你的忍耐中冲昏你的头脑，让你开始憧憬爱情，并且费力的去「寻」去「找」，试图去接触不同的人，试图找出哪一个是适合自己的，或许你会觉得，主动去寻找自己的幸福是一件很美好的事情，不过于我而言，这并不是爱情，我只能把它叫做权衡利弊后的一个选择。</p> <p>或许有的时候，你只是想找一个人陪你，那也或许并不是爱情。你结束了一天的忙碌，合上了笔记本电脑，关掉了手机，疲惫的倚靠在椅子上，狭小的房间中，只有那盏台灯在一片死寂中发出微弱的光。连点一只烟的动作都觉得多余，他只想一个人安静的待一会，也不知道在想什么。但如果无由头的想起了一些事情，一些人，这个引火线，就会瞬间将情绪点燃，无尽的孤独涌上心头，这个时候，你渴望有一个人陪在你身边，陪你说说话，哪怕陪着你坐一坐，起码让你知道你并不是一个人。自此以后，你开始标榜自己「需要人陪」，看似高尚的理由，其实只是你害怕寂寞的一种借口，就算你真的找到了一个陪着你的人，那你真的爱她吗，可能你只是在你漆黑的房间中又添置了一盏台灯，这样能让你的眼中看起来更加明亮。</p> <h4 id="_2-三观一致真的很重要"><a href="#_2-三观一致真的很重要" class="header-anchor">#</a> (2) 三观一致真的很重要！</h4> <p>这几年也接触过一些异性，或许也有动心过，但是你会发现，不同人看待，处理事物的方式会有截然不同的结果，你认为简直不可理解的事情，在其眼中似乎也稀松平常，或许你不懂她，也许她不懂你，三观这个词的定义实在太模糊，最简单的方法就是看你们在一起的感觉，给你的感觉如果是很舒服的，那么可以进一步了解一下，害，没什么好说的了， 希望你可以找一位能符合你心中期望的另一半。</p> <h4 id="_3-顺着人生轨迹走吧-别为了一个人停下来"><a href="#_3-顺着人生轨迹走吧-别为了一个人停下来" class="header-anchor">#</a> (3) 顺着人生轨迹走吧，别为了一个人停下来</h4> <p>千万不要陷入单恋的漩涡中，这是致命的，对的人是不需要主动找的，你只需要顺着人生轨迹走，在合适的年纪做合适的 “正事” ，自然而然就会遇到那个人了，如果等到七老八十，也没有遇到，或许这也就是命。或许说的太悲观了，但我仍认为，与其让自己为了追求一个不确定，也或许没有回应的爱情，不如自己欣赏自己孤岛中的美丽。但话也不能太绝对，或许有一天我就会因为所谓的爱情，陷入盲目。爱情这东西，谁说的好呢。但我只要不断告诉自己，一定不要停下来。</p> <h2 id="第二节-这一年我都做了些什么"><a href="#第二节-这一年我都做了些什么" class="header-anchor">#</a> 第二节 这一年我都做了些什么</h2> <h3 id="一-学习-技术输出"><a href="#一-学习-技术输出" class="header-anchor">#</a> (一) 学习 + 技术输出</h3> <h4 id="_1-行百里者半九十"><a href="#_1-行百里者半九十" class="header-anchor">#</a> (1) 行百里者半九十</h4> <p>按照原来的计划，从 Java --&gt; JavaWeb --&gt; SSM --&gt; SpringBoot 这个主线就算结束了，其中夹杂着 SQL，Linux，Web，小程序，设计模式等等的一些支线。不过，根据自己的情况和具体需要吗，其实我已经做出了一些重点的调整，我会在后面的目标中去提到。</p> <h4 id="_2-一年和球友一起-输出了一百多万字的笔记"><a href="#_2-一年和球友一起-输出了一百多万字的笔记" class="header-anchor">#</a> (2) 一年和球友一起 输出了一百多万字的笔记</h4> <blockquote><p>先放地址【Java全栈方向】：https://www.yuque.com/icu0/wevy7f
欢迎大佬们关注一下小弟。</p></blockquote> <p>一年中，一边学习，一边做总结，做整理，陆陆续续一年也写了 200 来篇笔记（也可能是文章或者感悟）（不一定纯后端/前端，还有 Linux ，计网等等）记得某个大佬说过写博客和笔记不一定能做到对别人有帮助，但起码对自己有帮助。但是我一直通过大白话概括 + 做图 + 简单示例 + 官方说明的方式写文章，也在努力希望能对别人也有帮助。</p> <p><img alt="" data-src="https://files.mdnice.com/user/31817/71d8f7ac-dd9a-4cca-a377-f2849172c130.png" loading="lazy" class="lazy"></p> <h3 id="二-超爱买书的购物狂"><a href="#二-超爱买书的购物狂" class="header-anchor">#</a> (二) 超爱买书的购物狂</h3> <p>这一年买了不少书（买了 == 看了），还有好多想买的都在我的购物车里吃灰，再买我真怕自己变成一个光收藏的 “读书人” 了，来盘点盘点这一年我看了比较有感觉的书（没感觉的和没怎么读的就不提了，如果给我多一点时间，我争取出一篇介绍自己读的书籍的文章）</p> <p><img alt="" data-src="https://files.mdnice.com/user/31817/a51fa3a4-c9f5-48b3-8ef8-b474f16a63a6.png" loading="lazy" class="lazy"></p> <blockquote><p>一件恐怖的事情：我利用一年时间看过了这些书</p></blockquote> <h2 id="第三节-明年今日-记得要回头看看"><a href="#第三节-明年今日-记得要回头看看" class="header-anchor">#</a> 第三节 明年今日，记得要回头看看</h2> <blockquote><p>We already walked too far, down to we had forgotten why embarked.   ——纪伯伦《先知》
译文：我们已经走得太远，以至于忘记了为什么而出发。</p></blockquote> <h3 id="_2022年度回顾"><a href="#_2022年度回顾" class="header-anchor">#</a> 2022年度回顾</h3> <p><img alt="" data-src="https://files.mdnice.com/user/31817/4b1660d3-6f5d-408a-9fbb-e3ef4fd90135.png" loading="lazy" class="lazy"></p> <h3 id="_2023年新的目标"><a href="#_2023年新的目标" class="header-anchor">#</a> 2023年新的目标</h3> <h4 id="技术上"><a href="#技术上" class="header-anchor">#</a> 技术上：</h4> <blockquote><p>只有写1-2月的，所以我放一个链接，欢迎大家监督我学习</p></blockquote> <p>https://www.yuque.com/icu0/qeowns?# 《Cool的三两事》</p> <h4 id="生活上"><a href="#生活上" class="header-anchor">#</a> 生活上：</h4> <ul><li>孝敬父母</li> <li>勤运动</li> <li>照顾好自己的身体</li> <li>不要熬夜</li> <li>与人交谈，沉稳思虑而后动</li> <li>多读书，多出去走走，善待他人</li></ul> <h4 id="学业上"><a href="#学业上" class="header-anchor">#</a> 学业上：</h4> <ul><li>英语四级</li> <li>拉取开源项目，为开源项目提PR</li> <li>持续输出技术型文章</li> <li>专升本上岸</li></ul> <p>总而言之，2022喜忧参半，有“<strong>春风得意马蹄疾，一日看尽长安花</strong>”的喜悦，也有“<strong>停杯投箸不能食，拔剑四顾心茫然</strong>”的忧愁，但我希望我的 2023 能有“<strong>长风破浪会有时，直挂云帆济沧海</strong>”。</p> <h3 id="个人独白"><a href="#个人独白" class="header-anchor">#</a> 个人独白:</h3> <p>以上内容皆是一名专科生的自白，感谢自己在大专三年没有一天是“浑浑噩噩式”学习，也没有一天因为当前的荣誉而骄傲满足，同时感谢部队两年的栽培，让我站在低谷依旧能<strong>仰望天空，扎根大地，心有猛虎，细嗅蔷薇。</strong></p> <blockquote><p>希望写的不好的地方，及时指出感谢大家</p></blockquote> <p>在此鸣谢：鱼皮、y学长、小王同学、颜佬、小余、叶秋、绿葫芦(大家dddd)、沙鱼、Heart、宙翊、zzzsleep、星橙、冷佬、兔子、阿晨同学、阿乐、傅佬、Honker哥、余白、杰哥、左手、小学弟、一休哥、莫莫美女、恐高宇航员等（太多了点不过来）</p> <p>最后希望没有续费的同学依旧能长联系，一朝球友，一辈子兄弟。</p> <h2 id="加入星球"><a href="#加入星球" class="header-anchor">#</a> 加入星球</h2> <p>更多内容加入星球可见，欢迎大家：</p> <p><a href="https://yuyuanweb.feishu.cn/wiki/SDtMwjR1DituVpkz5MLc3fZLnzb" target="_blank" rel="noopener noreferrer">👉🏻 点此加入星球<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></p> <p><img alt="微信扫码领券加入" data-src="https://www.codefather.cn/img/%E7%9F%A5%E8%AF%86%E6%98%9F%E7%90%83%E6%89%AB%E7%A0%81.jpeg" loading="lazy" class="lazy"></p></div> <footer class="page-edit" style="margin:0;"><div class="edit-link"><a href="https://github.com/liyupi/codefather/edit/master/编程导航/星球故事/学习总结/2022，我学会了这些！.md" target="_blank" rel="noopener noreferrer">完善页面</a> <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></div> <div class="last-updated"><span class="prefix">最近更新:</span> <span class="time">11/11/2023, 8:17:47 PM</span></div></footer> <!----></div> <div class="toc-container-sidebar"><div class="pos-box"><div class="icon-arrow"></div> <div class="scroll-box" style="max-height:86vh"><div style="font-weight:bold;"></div> <hr> <div class="toc-box"><ul class="toc-sidebar-links"><li><a href="/_2022-%E6%88%91%E5%AD%A6%E4%BC%9A%E4%BA%86%E8%BF%99%E4%BA%9B/#第一节-对你-同样对自己说" class="toc-sidebar-link">第一节：对你，同样对自己说</a><ul class="toc-sidebar-sub-headers"><li class="toc-sidebar-sub-header"><a href="/_2022-%E6%88%91%E5%AD%A6%E4%BC%9A%E4%BA%86%E8%BF%99%E4%BA%9B/#一-身体是革命的本钱" class="toc-sidebar-link">(一)身体是革命的本钱</a></li><li class="toc-sidebar-sub-header"><a href="/_2022-%E6%88%91%E5%AD%A6%E4%BC%9A%E4%BA%86%E8%BF%99%E4%BA%9B/#_2-继续战斗-也请先照顾好自己" class="toc-sidebar-link">(2) 继续战斗，也请先照顾好自己</a></li><li class="toc-sidebar-sub-header"><a href="/_2022-%E6%88%91%E5%AD%A6%E4%BC%9A%E4%BA%86%E8%BF%99%E4%BA%9B/#二-随波逐流只会让你接近平均值" class="toc-sidebar-link">(二) 随波逐流只会让你接近平均值</a></li><li class="toc-sidebar-sub-header"><a href="/_2022-%E6%88%91%E5%AD%A6%E4%BC%9A%E4%BA%86%E8%BF%99%E4%BA%9B/#三-不被枯井遮住双眼-保持谦虚及自尊" class="toc-sidebar-link">(三) 不被枯井遮住双眼，保持谦虚及自尊</a></li><li class="toc-sidebar-sub-header"><a href="/_2022-%E6%88%91%E5%AD%A6%E4%BC%9A%E4%BA%86%E8%BF%99%E4%BA%9B/#四-远离总是给你负面情绪的人" class="toc-sidebar-link">(四) 远离总是给你负面情绪的人</a></li><li class="toc-sidebar-sub-header"><a href="/_2022-%E6%88%91%E5%AD%A6%E4%BC%9A%E4%BA%86%E8%BF%99%E4%BA%9B/#五-传道授业-若要学知识-必得为人师" class="toc-sidebar-link">(五) 传道授业：若要学知识，必得为人师</a></li><li class="toc-sidebar-sub-header"><a href="/_2022-%E6%88%91%E5%AD%A6%E4%BC%9A%E4%BA%86%E8%BF%99%E4%BA%9B/#六-别让情绪扼杀你状态" class="toc-sidebar-link">(六) 别让情绪扼杀你状态</a></li><li class="toc-sidebar-sub-header toc-sidebar-depth-4"><a href="/_2022-%E6%88%91%E5%AD%A6%E4%BC%9A%E4%BA%86%E8%BF%99%E4%BA%9B/#_1-所谓迷茫-都不过是想的太多" class="toc-sidebar-link">(1) 所谓迷茫，都不过是想的太多</a></li><li class="toc-sidebar-sub-header toc-sidebar-depth-4"><a href="/_2022-%E6%88%91%E5%AD%A6%E4%BC%9A%E4%BA%86%E8%BF%99%E4%BA%9B/#_2-你总需要一个人走一段路" class="toc-sidebar-link">(2) 你总需要一个人走一段路</a></li><li class="toc-sidebar-sub-header"><a href="/_2022-%E6%88%91%E5%AD%A6%E4%BC%9A%E4%BA%86%E8%BF%99%E4%BA%9B/#七-恋爱的本质是「撞」而不是「寻」" class="toc-sidebar-link">(七) 恋爱的本质是「撞」而不是「寻」</a></li><li class="toc-sidebar-sub-header toc-sidebar-depth-4"><a href="/_2022-%E6%88%91%E5%AD%A6%E4%BC%9A%E4%BA%86%E8%BF%99%E4%BA%9B/#_1-你真的想要谈恋爱吗" class="toc-sidebar-link">(1) 你真的想要谈恋爱吗？</a></li><li class="toc-sidebar-sub-header toc-sidebar-depth-4"><a href="/_2022-%E6%88%91%E5%AD%A6%E4%BC%9A%E4%BA%86%E8%BF%99%E4%BA%9B/#_2-三观一致真的很重要" class="toc-sidebar-link">(2) 三观一致真的很重要！</a></li><li class="toc-sidebar-sub-header toc-sidebar-depth-4"><a href="/_2022-%E6%88%91%E5%AD%A6%E4%BC%9A%E4%BA%86%E8%BF%99%E4%BA%9B/#_3-顺着人生轨迹走吧-别为了一个人停下来" class="toc-sidebar-link">(3) 顺着人生轨迹走吧，别为了一个人停下来</a></li></ul></li><li><a href="/_2022-%E6%88%91%E5%AD%A6%E4%BC%9A%E4%BA%86%E8%BF%99%E4%BA%9B/#第二节-这一年我都做了些什么" class="toc-sidebar-link">第二节 这一年我都做了些什么</a><ul class="toc-sidebar-sub-headers"><li class="toc-sidebar-sub-header"><a href="/_2022-%E6%88%91%E5%AD%A6%E4%BC%9A%E4%BA%86%E8%BF%99%E4%BA%9B/#一-学习-技术输出" class="toc-sidebar-link">(一) 学习 + 技术输出</a></li><li class="toc-sidebar-sub-header toc-sidebar-depth-4"><a href="/_2022-%E6%88%91%E5%AD%A6%E4%BC%9A%E4%BA%86%E8%BF%99%E4%BA%9B/#_1-行百里者半九十" class="toc-sidebar-link">(1) 行百里者半九十</a></li><li class="toc-sidebar-sub-header toc-sidebar-depth-4"><a href="/_2022-%E6%88%91%E5%AD%A6%E4%BC%9A%E4%BA%86%E8%BF%99%E4%BA%9B/#_2-一年和球友一起-输出了一百多万字的笔记" class="toc-sidebar-link">(2) 一年和球友一起 输出了一百多万字的笔记</a></li><li class="toc-sidebar-sub-header"><a href="/_2022-%E6%88%91%E5%AD%A6%E4%BC%9A%E4%BA%86%E8%BF%99%E4%BA%9B/#二-超爱买书的购物狂" class="toc-sidebar-link">(二) 超爱买书的购物狂</a></li></ul></li><li><a href="/_2022-%E6%88%91%E5%AD%A6%E4%BC%9A%E4%BA%86%E8%BF%99%E4%BA%9B/#第三节-明年今日-记得要回头看看" class="toc-sidebar-link">第三节 明年今日，记得要回头看看</a><ul class="toc-sidebar-sub-headers"><li class="toc-sidebar-sub-header"><a href="/_2022-%E6%88%91%E5%AD%A6%E4%BC%9A%E4%BA%86%E8%BF%99%E4%BA%9B/#_2022年度回顾" class="toc-sidebar-link">2022年度回顾</a></li><li class="toc-sidebar-sub-header"><a href="/_2022-%E6%88%91%E5%AD%A6%E4%BC%9A%E4%BA%86%E8%BF%99%E4%BA%9B/#_2023年新的目标" class="toc-sidebar-link">2023年新的目标</a></li><li class="toc-sidebar-sub-header toc-sidebar-depth-4"><a href="/_2022-%E6%88%91%E5%AD%A6%E4%BC%9A%E4%BA%86%E8%BF%99%E4%BA%9B/#技术上" class="toc-sidebar-link">技术上：</a></li><li class="toc-sidebar-sub-header toc-sidebar-depth-4"><a href="/_2022-%E6%88%91%E5%AD%A6%E4%BC%9A%E4%BA%86%E8%BF%99%E4%BA%9B/#生活上" class="toc-sidebar-link">生活上：</a></li><li class="toc-sidebar-sub-header toc-sidebar-depth-4"><a href="/_2022-%E6%88%91%E5%AD%A6%E4%BC%9A%E4%BA%86%E8%BF%99%E4%BA%9B/#学业上" class="toc-sidebar-link">学业上：</a></li><li class="toc-sidebar-sub-header"><a href="/_2022-%E6%88%91%E5%AD%A6%E4%BC%9A%E4%BA%86%E8%BF%99%E4%BA%9B/#个人独白" class="toc-sidebar-link">个人独白:</a></li></ul></li><li><a href="/_2022-%E6%88%91%E5%AD%A6%E4%BC%9A%E4%BA%86%E8%BF%99%E4%BA%9B/#加入星球" class="toc-sidebar-link">加入星球</a><ul class="toc-sidebar-sub-headers"></ul></li></ul></div></div></div></div></div>  <main class="footer"> <div class="copy-right"><span class="name"> 编程导航   |     </span> <a target="_blank" rel="noreferrer">
          
        </a></div></main></main> <aside class="page-sidebar"> <div class="page-side-toolbar"></div>  </aside></div><div class="global-ui"><!----></div></div>
    <script src="/assets/js/app.12ab4756.js" defer></script><script src="/assets/js/2.fd06b53e.js" defer></script><script src="/assets/js/407.58b2b123.js" defer></script>
  </body>
</html>
